package com.ruoyi.system.domain;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import com.ruoyi.common.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * SQL审计 对象
 * @author ruoyi
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(value = "sys_sql_log")
public class SysSqlLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** sql主键 */
    @Excel(name = "sql主键")
    @Id
    private Long sqlId;

    /** 平台 */
    @Excel(name = "平台")
    private String platform;

    /** 模块 */
    @Excel(name = "模块")
    private String module;

    /** url id */
    @Excel(name = "url id")
    private String url;

    /** 平台用户 */
    @Excel(name = "平台用户")
    private String user;

    /** 平台用户 IP 地址 */
    @Excel(name = "平台用户 IP 地址")
    private String userIp;

    /** 服务器 IP */
    @Excel(name = "服务器 IP")
    private String hostIp;

    /** 执行的 sql */
    @Excel(name = "执行的 sql")
    private String query;

    /** 执行的 sql 的参数 */
    @Excel(name = "执行的 sql 的参数")
    private String queryParams;

    /** 执行时间 */
    @Excel(name = "执行时间")
    private LocalDateTime queryTime;

    /** 执行消耗时间 */
    @Excel(name = "执行消耗时间")
    private Long elapsedTime;

    /** 数据源 */
    @Excel(name = "数据源")
    private String dsName;

    @Column(ignore = true)
    private LocalDateTime startTime;

    @Column(ignore = true)
    private LocalDateTime endTime;

}
